<?php
header('Content-type:text/html;charset=uft-8');

header('Content-type:text/html;charset=uft-8');
 $link=mysqli_connect('localhost','root','','itcast');
if(!$link){
    die('Connect Error (' . mysqli_connect_errno() . ') '
        . mysqli_connect_error());

}
mysqli_query($link,'set names utf8');
mysqli_query($link,'use `itcast`');
//准备sql语句
$sql='select * from `emp_info`';
//执行sql语句
$result=mysqli_query($link,$sql);
if(!$result) die(mysqli_error($link));
$emp_info=array();
while($row=mysqli_fetch_assoc($result)){
    $emp_info[]=$row;
}

//--------入职时间部门排序--------
$fields=array('e_dept','date_of_entry');
//初始化排序语句，用来组合排序的order子句
$sql_order='';
//$_GET是否存在，赋值给$order，不存在赋空字符
$order=isset($_GET['order']) ?$_GET['order']:'';
$sort=isset($_GET['sort']) ?$_GET['sort']:'';
//判断$order是否存在于合法字段列表$fields中
if(in_array($order,$fields)){
    //判断$_GET['sort']是否存在并且值是否为‘desc’
    if($sort=='desc'){
        //条件成立，组合句子order子句，order by 字段 desc
        $sql_order="order by $order desc";
        //更新$sort为‘asc’
        $sort='asc';
    }else{
        //条件不成立，组合order子句 order by字段asc
        $sql_order="order by $order asc";
        //更新$sore为‘desc’
        $sort='desc';
    }
}
$sql = "select * from `emp_info` $sql_order";
$result = mysqli_query($link,$sql);
if(!$result) die(mysqli_error($link));
$emp_info = array();
while($row = mysqli_fetch_assoc($result)){
    $emp_info[] = $row;
}

//--------员工信息搜索-----------
//定义变量，用来保存查询条件，初始化赋值空字符串
$where='';
//判断是否有关键字传入
if(isset($_GET['keyword'])){
    //将$_GET ['keyword']赋值给$keyword
    $keyword=$_GET['keyword'];
    //对用户输入数据进行aql转义
    // $keyword=mysqli_real_escape_string($keyword);
    //转义后的关键字拼接到where条件查询中，并且使用like进行模糊查询
    $where="where e_name like '%$keyword%'";
}
//把查询条件$where拼接到sql语句中
$sql="select *from `emp_info` $where";
//执行sql语句，获取结果集
$res=mysqli_query($link,$sql);
//定义员工数组，用以保存员工信息
$emp_info=array();
//遍历结果集，获取每一位员工的详细数据
while($row=mysqli_fetch_assoc($res)){
    $emp_info[]=$row;
}
//-------分页显示信息-------
//定义每页显示的记录行数
$page_size=4;
//查询所有记录的行数
$res=mysqli_query($link,'select count(*) from `emp_info`');
$count=mysqli_fetch_row($res);
//取出查询结果中的第一列的值
$count = $count[0];
//计算最大页码值
$max_page = ceil($count/$page_size);
//获取当前选择的页码，并作容错处理
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$page = $page > $max_page ? $max_page : $page;
$page = $page < 1 ? 1 : $page;
//组合分页链接
$page_html="<a href='./showList.php?page=1'>首页</a>&nbsp;";
$page_html .="<a href='./showList.php?page=".(($page-1)>0?($page-1):1)."'>上一页</a>&nbsp;";
$page_html .="<a href='./showList.php?page=".(($page+1)<$max_page?($page+1):$max_page)."'>下一页</a>&nbsp;";
$page_html .="<a href='./showList.php?page={$max_page}'>尾页</a>";
//拼接查询语句并执行，获取查询数据
$lim=($page-1)*2;
$sql="select * from `emp_info` limit {$lim},4";
$res=mysqli_query($link,$sql);
if(!$res) die(mysqli_error());
//读取数据并作相关处理
$emp_info = array();
while($row = mysqli_fetch_assoc($res)){
    $emp_info[] = $row;
}


define('APP','itcast');
require './list_html.php';
